$(function() {
    /**
     * checkbox ID 动态生成id
     */
    $("#datatable tbody tr").each(function (i) {
        var checkboxID = "myCheck"+i;
        $(this).find("input").attr("id",checkboxID);
        $(this).find("label").attr("for",checkboxID);
    });
    /**
     * checkbox 全选判断
     */
    $("#checkAll").click(function () {
        $(".SelectSingle").prop('checked',this.checked);
    })
    $(".SelectSingle").click(function () {
        if($(".SelectSingle").length-1 == $(".SelectSingle:checked").length-1){
            $("#checkAll").prop('checked',true);
        }else{
            $("#checkAll").prop('checked',false);
        }
    })
    /**
     * 新增
     */
    $("#table-add").click(function () {
        var tableTitle = getThead();
        ModelAdd("新增", tableTitle);
    });
    /**
     * 编辑
     */
    $(".td-edit").click(function (e) {
        var tableContent = [];
        $(this).parents("tr").children(".table-content").each(function () {
            tableContent.push($(this).text());
        });
        var tableTitle = getThead();
        ModelAdd("编辑", tableTitle);
        $(".modal-body>.form-group").each(function (value, index) {
            $(this).children("input").attr("value", tableContent[value])
        })
    });
    /**
     * 删除
     */
    $(".td-del").click(function () {
        var trid =$(this).parents("tr").attr("id");
        ModelDiglog("删除", "您确认删除么",trid);
    })

    /**
     * 获取表头名称
     */
    function getThead() {
        var tableTitle = [];
        $(".table-head").each(function () {
            var title = $(this).text();
            if (title != "操作") {
                tableTitle.push(title);
            }
        })
        return tableTitle;
    }

    /**
     * 获取表头ID
     */
    function getTheadID() {
        var tableID = [];
        $(".table-head").each(function () {
            var id = $(this).attr("id");
            if (id != "") {
                tableID.push(id);
            }
        })
        return tableID;
    }
    /**
     * 清除模态框
     */
    function clearDialog() {
        //清空
        $(".modal-title").empty();
        $(".modal-body").empty();
        $(".modal-check-ul").empty();
        $(".modal-footer").find("button:eq(1)").attr("id");
    }
    /**
     * 配置模态框居中打开
     */
    function openModel() {
        var scrollHeight = parent.scrollHeight;
        $('#myModal').css({
            'margin-top': scrollHeight
        })
        $("#myModal").modal();
    }

    /**
     * 配置模态框新增
     */
    function ModelAdd(title, items) {
        clearDialog();
        var titleId = getTheadID();
        var modelbody = "";
        //定义一个模态框的标题
        $(".modal-title").text(title);
        //定义模态框主体
        for (var i = 0; i < items.length; i++) {
            modelbody += '<div class="form-group">\
                            <label for="">' + items[i] + '</label>\
                            <input type="text" class="form-control" id='+titleId[i]+' name='+items[i]+'>\
                            </div>';
        }
        $(".modal-body").append(modelbody);
        //设置模态框的保存id区分不同的模态框
        if(title=="新增"){
            $(".modal-footer").find("button:eq(1)").attr("id", "addSave");
        }else{
            $(".modal-footer").find("button:eq(1)").attr("id", "editSave");
        }
        //判断页面是否有权限设置
        if(($("#content-header h1").html()=="用户信息")){
            //拿到用户的权限框
            if (title=="新增") {
                $.ajax({
                    type: "get",
                    url: '/users/addInfo',
                    dataType: 'json',
                    async: false,
                    success: function (data) {
                        console.log(data);
                        for(var i=0;i<data.rolesList.length;i++){
                            $(".modal-check-ul").append('<li><label for="" class="checkbox inline font-size myCheck">'+data.rolesList[i].roleName+'</label><input type="checkbox" class="" id='+data.rolesList[i].guid+'></li>');
                        }
                        openModel();
                    },
                    error:function () {
                        alert("请求失败");
                        return;
                    }
                })
            }else if(title="编辑"){
                $.ajax({
                    type: "post",
                    url: '/users/edit',
                    data:{
                        GUID:"7a7b1c1b-bd44-11e7-886d-9883891bea8u"
                    },
                    contentType:"application/x-www-form-urlencoded",
                    dataType: 'json',
                    async: false,
                    success: function (data) {
                        console.log(data);
                        if(data != null) {
                            for (var i = 0; i < data.rolesList.length; i++) {
                                $(".modal-check-ul").append('<li><label for="" class="checkbox inline font-size myCheck">' + data.rolesList[i].roleName + '</label><input type="checkbox" class="" id=' + data.rolesList[i].guid + '></li>');
                            }
                        }
                        openModel();
                    },
                    error:function () {
                        alert("请求失败");
                        return;
                    }
                })
            }
        }else{
            openModel();
        }
    }

    /**
     * 配置模态框对话
     */
    function ModelDiglog(title, message,id) {
        clearDialog();
        var modelbody = "";
        //定义一个模态框的标题
        $(".modal-title").text(title);
        //定义模态框主体
        $(".modal-body").html('<h4>' + message + '</h4>');
        //设置模态框的保存id区分不同的模态框
        $(".modal-footer").find("button:eq(1)").attr("id", "delSave");
        if(id !="undefined"|| id != "null"){
            $(".modal-body>h4").attr("id",id)
        }
        $("#myModal").modal();
    }
    /**
     * 条件搜索;
     */
    $("#table-search").click(function() {
        var data = new Object();
        $("#formSearch1").find("input").each(function () {
            // console.log($(this).attr("name"));
            // console.log($(this).val());
        });
    })
    /**
     * 模态框保存发送请求
     */

    $(".modal-footer>button:eq(1)").on('click',function (){
        //新增
        var data = new Object();
        var user =new Object();
        if($(this).attr("id")=="addSave") {
            $(".modal-body>.form-group").each(function () {
                user[$(this).find("input").attr("id")] = $(this).find("input").val();
            })
            data["user"] = user;
            if ($("#content-header h1").html() == "用户信息") {
                var rolelist = new Object();
                $(".modal-check-ul>li").each(function () {
                    if( $(this).find("input").prop("checked")){
                        rolelist[$(this).find("input").attr("id")]= true;
                    }else{
                        rolelist[$(this).find("input").attr("id")]= false;
                    }
                });
                data["rolelist"] = rolelist;
            }
            console.log(data);
            data = JSON.stringify(data);
            console.log('jsonData' + data);
            ajaxTest("/users/addSave", "post", data);
        }else if($(this).attr("id")=="ediSave") {
            //编辑
            var data = new Object();
            var user = new Object();
            if ($(this).attr("id") == "addSave") {
                $(".modal-body>.form-group").each(function () {
                    user[$(this).find("input").attr("id")] = $(this).find("input").val();
                })
                data["user"] = user;
                if ($("#content-header h1").html() == "用户信息") {
                    var rolelist = new Object();
                    $(".modal-check-ul>li").each(function () {
                        if ($(this).find("input").prop("checked")) {
                            rolelist[$(this).find("input").attr("id")] = true;
                        } else {
                            rolelist[$(this).find("input").attr("id")] = false;
                        }
                    });
                    data["rolelist"] = rolelist;
                }
                console.log(data);
                data = JSON.stringify(data);
                console.log('jsonData' + data);
                ajaxTest("/users/edit/ok", "post", data);
            } else if ($(this).attr("id") == "delSave") {
                //删除
                // var data = $(".modal-body>h4").attr("id");
                // data = JSON.stringify(data);
                var data = {
                    GUID: "7a7b1c1b-bd44-11e7-886d-9883891bea8u"
                }
                ajaxTest("/users/del", "post", data);
            }
        }
        });


    function ajaxTest(url,type,datas) {
        $.ajax({
            url:url,
            type:type,
            async:false,
            dataType:"json",
            data:datas,
            contentType:"application/json;charset=utf-8",
            success: function (data) {
                console.log("结果" + data);
                window.location.reload();
            },
            error: function () {
                alert("操作失败");
            }
        });
    }
});